package com.atguigu.daijia.driver.service;

import com.atguigu.daijia.model.entity.driver.DriverInfo;
import com.atguigu.daijia.model.entity.driver.DriverSet;
import com.atguigu.daijia.model.form.driver.DriverFaceModelForm;
import com.atguigu.daijia.model.form.driver.UpdateDriverAuthInfoForm;
import com.atguigu.daijia.model.vo.driver.DriverAuthInfoVo;
import com.atguigu.daijia.model.vo.driver.DriverInfoVo;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import com.baomidou.mybatisplus.extension.service.IService;

public interface DriverInfoService extends IService<DriverInfo> {

    //司机端登录
    Long login(String code);

    //获取司机登录相关信息
    DriverLoginVo getDriverLoginInfo(Long driverId);

    //获取司机的认证信息
    DriverAuthInfoVo getDriverAuthInfo(Long driverId);

    //更新司机的认证信息
    Boolean updateDriverAuthInfo(UpdateDriverAuthInfoForm updateDriverAuthInfoForm);

    // 创建司机人脸模型
    Boolean creatDriverFaceModel(DriverFaceModelForm driverFaceModelForm);

    // 查询司机个性化设置消息
    DriverSet geDriverSet(Long driverId);

    // 判断当天司机是否进行了人脸识别
    Boolean isFaceRecognition(Long driverId);

    //验证司机人脸
    Boolean verifyDriverFace(DriverFaceModelForm driverFaceModelForm);

    // 更新司机的接单状态
    Boolean updateServiceStatus(Long driverId, Integer status);

    //获取司机的基本信息
    DriverInfoVo getDriverInfo(Long driverId);

    //获取司机OpenId
    String getDriverOpenId(Long driverId);

}
